8.06 ORM增加数据
1、使用create()在数据库中插入一行数据,并返回一个模型的实例对象
Model.py
from django.db import models
class User1(models.Model):
id=models.AutoField(primary_key=True)
uerName=models.CharField(max_length=100)
passWord=models.CharField(max_length=100)
age=models.IntegerField()
birthDay=models.DateTimeField()
def __str__(self):
return f'id:{self.id},uerName:{self.uerName},age:{self.age},birthDay:{self.birthDay}'
class Meta:
db_table="user1"
urls:
from django.urls import path
from . import views
urlpatterns = [
path('text', views.text),
path('text2', views.text2),
]
views.py
def text2(request):
user=User1.objects.create(
uerName="阿礼佬",
passWord="abc",
age=97,
birthDay="1945-10-21"
)
print(user)
return HttpResponse("OK")
终端返回值:
PS D:\Pyobject2023\object\django\shn> python ./manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
October 18, 2025 - 15:37:41
Django version 4.2.11, using settings 'shn.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
id:5,uerName:阿礼佬,age:97,birthDay:1945-10-21
[18/Oct/2025 16:22:30] "GET /app082/text2 HTTP/1.1" 200 2
Mysql:
mysql> select * from User1;
+----+-----------------+----------+-----+----------------------------+
| id | uerName | passWord | age | birthDay |
+----+-----------------+----------+-----+----------------------------+
| 1 | 韦广和死佬 | 12345 | 18 | 2020-12-12 00:00:00.000000 |
| 2 | 韦林死佬 | 12345 | 18 | 2020-12-12 00:00:00.000000 |
| 3 | 张三 | 12345 | 18 | 2020-12-12 00:00:00.000000 |
| 4 | 李四 | 12345 | 18 | 2020-12-12 00:00:00.000000 |
| 5 | 阿礼佬 | abc | 97 | 1945-10-21 00:00:00.000000 |
+----+-----------------+----------+-----+----------------------------+
5 rows in set (0.00 sec)
简法添加:
def text2(request):
user=User1(uerName="阿礼佬",passWord="abc",age=97,birthDay="1945-10-21")
user.save() #只有保存之后,数据内容才会添加到mysql数据库
print(user)
return HttpResponse("OK")
终端返回值:
id:6,uerName:阿礼佬,age:97,birthDay:1945-10-21
[18/Oct/2025 16:30:57] "GET /app082/text2 HTTP/1.1" 200 2
Mysql:
mysql> select * from User1;
+----+-----------------+----------+-----+----------------------------+
| id | uerName | passWord | age | birthDay |
+----+-----------------+----------+-----+----------------------------+
| 1 | 韦广和死佬 | 12345 | 18 | 2020-12-12 00:00:00.000000 |
| 2 | 韦林死佬 | 12345 | 18 | 2020-12-12 00:00:00.000000 |
| 3 | 张三 | 12345 | 18 | 2020-12-12 00:00:00.000000 |
| 4 | 李四 | 12345 | 18 | 2020-12-12 00:00:00.000000 |
| 5 | 阿礼佬 | abc | 97 | 1945-10-21 00:00:00.000000 |
| 6 | 阿礼佬 | abc | 97 | 1945-10-21 00:00:00.000000 |
+----+-----------------+----------+-----+----------------------------+
6 rows in set (0.00 sec)
2\使用bulk_Create()批量增加
先生成一堆对象,存在列表中,再将列表中的对象一次性插入到数据库中,避免多次与数据库打交道,减少数据库的时间操作。
def text2(request):
#批量添加数据
users=[]
for i in range(100):
obj=User1(
uerName=f'alilao{i}',
age=i,
passWord="abc",
birthDay=date.today(),
)
users.append(obj)
User1.objects.bulk_create(users)
print(users)
return HttpResponse("OK")
终端返回值:
[<User1: id:None,uerName:alilao0,age:0,birthDay:2025-10-18>, <User1: id:None,uerName:alilao1,age:1,birthDay:2025-10-18>, <User1:
id:None,uerName:alilao2,age:2,birthDay:2025-10-18>, <User1: id:None,uerName:alilao3,age:3,birthDay:2025-10-18>, <User1: id:None
,uerName:alilao4,age:4,birthDay:2025-10-18>, <User1: id:None,uerName:alilao5,age:5,birthDay:2025-10-18>, <User1: id:None,uerName
:alilao6,age:6,birthDay:2025-10-18>, <User1: id:None,uerName:alilao7,age:7,birthDay:2025-10-18>, <User1: id:None,uerName:alilao8
,age:8,birthDay:2025-10-18>, <User1: id:None,uerName:alilao9,age:9,birthDay:2025-10-18>, <User1: id:None,uerName:alilao10,age:10
,birthDay:2025-10-18>, <User1: id:None,uerName:alilao11,age:11,birthDay:2025-10-18>, <User1: id:None,uerName:alilao12,age:12,bir
thDay:2025-10-18>, <User1: id:None,uerName:alilao13,age:13,birthDay:2025-10-18>, <User1: id:None,uerName:alilao14,age:14,birthDa
y:2025-10-18>, <User1: id:None,uerName:alilao15,age:15,birthDay:2025-10-18>, <User1: id:None,uerName:alilao16,age:16,birthDay:20
25-10-18>, <User1: id:None,uerName:alilao17,age:17,birthDay:2025-10-18>, <User1: id:None,uerName:alilao18,age:18,birthDay:2025-1
0-18>, <User1: id:None,uerName:alilao19,age:19,birthDay:2025-10-18>, <User1: id:None,uerName:alilao20,age:20,birthDay:2025-10-18
>, <User1: id:None,uerName:alilao21,age:21,birthDay:2025-10-18>, <User1: id:None,uerName:alilao22,age:22,birthDay:2025-10-18>, <
User1: id:None,uerName:alilao23,age:23,birthDay:2025-10-18>, <User1: id:None,uerName:alilao24,age:24,birthDay:2025-10-18>, <User
1: id:None,uerName:alilao25,age:25,birthDay:2025-10-18>, <User1: id:None,uerName:alilao26,age:26,birthDay:2025-10-18>, <User1: i
d:None,uerName:alilao27,age:27,birthDay:2025-10-18>, <User1: id:None,uerName:alilao28,age:28,birthDay:2025-10-18>, <User1: id:No
ne,uerName:alilao29,age:29,birthDay:2025-10-18>, <User1: id:None,uerName:alilao30,age:30,birthDay:2025-10-18>, <User1: id:None,u
erName:alilao31,age:31,birthDay:2025-10-18>, <User1: id:None,uerName:alilao32,age:32,birthDay:2025-10-18>, <User1: id:None,uerNa
me:alilao33,age:33,birthDay:2025-10-18>, <User1: id:None,uerName:alilao34,age:34,birthDay:2025-10-18>, <User1: id:None,uerName:a
lilao35,age:35,birthDay:2025-10-18>, <User1: id:None,uerName:alilao36,age:36,birthDay:2025-10-18>, <User1: id:None,uerName:alila
o37,age:37,birthDay:2025-10-18>, <User1: id:None,uerName:alilao38,age:38,birthDay:2025-10-18>, <User1: id:None,uerName:alilao39,
age:39,birthDay:2025-10-18>, <User1: id:None,uerName:alilao40,age:40,birthDay:2025-10-18>, <User1: id:None,uerName:alilao41,age:
41,birthDay:2025-10-18>, <User1: id:None,uerName:alilao42,age:42,birthDay:2025-10-18>, <User1: id:None,uerName:alilao43,age:43,b
irthDay:2025-10-18>, <User1: id:None,uerName:alilao44,age:44,birthDay:2025-10-18>, <User1: id:None,uerName:alilao45,age:45,birth
Day:2025-10-18>, <User1: id:None,uerName:alilao46,age:46,birthDay:2025-10-18>, <User1: id:None,uerName:alilao47,age:47,birthDay:
2025-10-18>, <User1: id:None,uerName:alilao48,age:48,birthDay:2025-10-18>, <User1: id:None,uerName:alilao49,age:49,birthDay:2025
-10-18>, <User1: id:None,uerName:alilao50,age:50,birthDay:2025-10-18>, <User1: id:None,uerName:alilao51,age:51,birthDay:2025-10-
18>, <User1: id:None,uerName:alilao52,age:52,birthDay:2025-10-18>, <User1: id:None,uerName:alilao53,age:53,birthDay:2025-10-18>,
<User1: id:None,uerName:alilao54,age:54,birthDay:2025-10-18>, <User1: id:None,uerName:alilao55,age:55,birthDay:2025-10-18>, <Us
er1: id:None,uerName:alilao56,age:56,birthDay:2025-10-18>, <User1: id:None,uerName:alilao57,age:57,birthDay:2025-10-18>, <User1:
id:None,uerName:alilao58,age:58,birthDay:2025-10-18>, <User1: id:None,uerName:alilao59,age:59,birthDay:2025-10-18>, <User1: id:
None,uerName:alilao60,age:60,birthDay:2025-10-18>, <User1: id:None,uerName:alilao61,age:61,birthDay:2025-10-18>, <User1: id:None
,uerName:alilao62,age:62,birthDay:2025-10-18>, <User1: id:None,uerName:alilao63,age:63,birthDay:2025-10-18>, <User1: id:None,uer
Name:alilao64,age:64,birthDay:2025-10-18>, <User1: id:None,uerName:alilao65,age:65,birthDay:2025-10-18>, <User1: id:None,uerName
:alilao66,age:66,birthDay:2025-10-18>, <User1: id:None,uerName:alilao67,age:67,birthDay:2025-10-18>, <User1: id:None,uerName:ali
lao68,age:68,birthDay:2025-10-18>, <User1: id:None,uerName:alilao69,age:69,birthDay:2025-10-18>, <User1: id:None,uerName:alilao7
0,age:70,birthDay:2025-10-18>, <User1: id:None,uerName:alilao71,age:71,birthDay:2025-10-18>, <User1: id:None,uerName:alilao72,ag
e:72,birthDay:2025-10-18>, <User1: id:None,uerName:alilao73,age:73,birthDay:2025-10-18>, <User1: id:None,uerName:alilao74,age:74
,birthDay:2025-10-18>, <User1: id:None,uerName:alilao75,age:75,birthDay:2025-10-18>, <User1: id:None,uerName:alilao76,age:76,bir
thDay:2025-10-18>, <User1: id:None,uerName:alilao77,age:77,birthDay:2025-10-18>, <User1: id:None,uerName:alilao78,age:78,birthDa
y:2025-10-18>, <User1: id:None,uerName:alilao79,age:79,birthDay:2025-10-18>, <User1: id:None,uerName:alilao80,age:80,birthDay:20
25-10-18>, <User1: id:None,uerName:alilao81,age:81,birthDay:2025-10-18>, <User1: id:None,uerName:alilao82,age:82,birthDay:2025-1
0-18>, <User1: id:None,uerName:alilao83,age:83,birthDay:2025-10-18>, <User1: id:None,uerName:alilao84,age:84,birthDay:2025-10-18
>, <User1: id:None,uerName:alilao85,age:85,birthDay:2025-10-18>, <User1: id:None,uerName:alilao86,age:86,birthDay:2025-10-18>, <
User1: id:None,uerName:alilao87,age:87,birthDay:2025-10-18>, <User1: id:None,uerName:alilao88,age:88,birthDay:2025-10-18>, <User
1: id:None,uerName:alilao89,age:89,birthDay:2025-10-18>, <User1: id:None,uerName:alilao90,age:90,birthDay:2025-10-18>, <User1: i
d:None,uerName:alilao91,age:91,birthDay:2025-10-18>, <User1: id:None,uerName:alilao92,age:92,birthDay:2025-10-18>, <User1: id:No
ne,uerName:alilao93,age:93,birthDay:2025-10-18>, <User1: id:None,uerName:alilao94,age:94,birthDay:2025-10-18>, <User1: id:None,u
erName:alilao95,age:95,birthDay:2025-10-18>, <User1: id:None,uerName:alilao96,age:96,birthDay:2025-10-18>, <User1: id:None,uerNa
me:alilao97,age:97,birthDay:2025-10-18>, <User1: id:None,uerName:alilao98,age:98,birthDay:2025-10-18>, <User1: id:None,uerName:a
lilao99,age:99,birthDay:2025-10-18>]
[18/Oct/2025 16:55:28] "GET /app082/text2 HTTP/1.1" 200 2
SQL:
mysql> select * from User1;
+-----+-----------------+----------+-----+----------------------------+
| id | uerName | passWord | age | birthDay |
+-----+-----------------+----------+-----+----------------------------+
| 1 | 韦广和死佬 | 12345 | 18 | 2020-12-12 00:00:00.000000 |
| 2 | 韦林死佬 | 12345 | 18 | 2020-12-12 00:00:00.000000 |
| 3 | 张三 | 12345 | 18 | 2020-12-12 00:00:00.000000 |
| 4 | 李四 | 12345 | 18 | 2020-12-12 00:00:00.000000 |
| 5 | 阿礼佬 | abc | 97 | 1945-10-21 00:00:00.000000 |
| 6 | 阿礼佬 | abc | 97 | 1945-10-21 00:00:00.000000 |
| 7 | alilao99 | | 99 | 2025-10-18 00:00:00.000000 |
| 8 | alilao0 | abc | 0 | 2025-10-18 00:00:00.000000 |
| 9 | alilao1 | abc | 1 | 2025-10-18 00:00:00.000000 |
| 10 | alilao2 | abc | 2 | 2025-10-18 00:00:00.000000 |
| 11 | alilao3 | abc | 3 | 2025-10-18 00:00:00.000000 |
| 12 | alilao4 | abc | 4 | 2025-10-18 00:00:00.000000 |
| 13 | alilao5 | abc | 5 | 2025-10-18 00:00:00.000000 |
| 14 | alilao6 | abc | 6 | 2025-10-18 00:00:00.000000 |
| 15 | alilao7 | abc | 7 | 2025-10-18 00:00:00.000000 |
| 16 | alilao8 | abc | 8 | 2025-10-18 00:00:00.000000 |
| 17 | alilao9 | abc | 9 | 2025-10-18 00:00:00.000000 |
| 18 | alilao10 | abc | 10 | 2025-10-18 00:00:00.000000 |
| 19 | alilao11 | abc | 11 | 2025-10-18 00:00:00.000000 |
| 20 | alilao12 | abc | 12 | 2025-10-18 00:00:00.000000 |
| 21 | alilao13 | abc | 13 | 2025-10-18 00:00:00.000000 |
| 22 | alilao14 | abc | 14 | 2025-10-18 00:00:00.000000 |
| 23 | alilao15 | abc | 15 | 2025-10-18 00:00:00.000000 |
| 24 | alilao16 | abc | 16 | 2025-10-18 00:00:00.000000 |
| 25 | alilao17 | abc | 17 | 2025-10-18 00:00:00.000000 |
| 26 | alilao18 | abc | 18 | 2025-10-18 00:00:00.000000 |
| 27 | alilao19 | abc | 19 | 2025-10-18 00:00:00.000000 |
| 28 | alilao20 | abc | 20 | 2025-10-18 00:00:00.000000 |
| 29 | alilao21 | abc | 21 | 2025-10-18 00:00:00.000000 |
| 30 | alilao22 | abc | 22 | 2025-10-18 00:00:00.000000 |
| 31 | alilao23 | abc | 23 | 2025-10-18 00:00:00.000000 |
| 32 | alilao24 | abc | 24 | 2025-10-18 00:00:00.000000 |
| 33 | alilao25 | abc | 25 | 2025-10-18 00:00:00.000000 |
| 34 | alilao26 | abc | 26 | 2025-10-18 00:00:00.000000 |
| 35 | alilao27 | abc | 27 | 2025-10-18 00:00:00.000000 |
| 36 | alilao28 | abc | 28 | 2025-10-18 00:00:00.000000 |
| 37 | alilao29 | abc | 29 | 2025-10-18 00:00:00.000000 |
| 38 | alilao30 | abc | 30 | 2025-10-18 00:00:00.000000 |
| 39 | alilao31 | abc | 31 | 2025-10-18 00:00:00.000000 |
| 40 | alilao32 | abc | 32 | 2025-10-18 00:00:00.000000 |
| 41 | alilao33 | abc | 33 | 2025-10-18 00:00:00.000000 |
| 42 | alilao34 | abc | 34 | 2025-10-18 00:00:00.000000 |
| 43 | alilao35 | abc | 35 | 2025-10-18 00:00:00.000000 |
| 44 | alilao36 | abc | 36 | 2025-10-18 00:00:00.000000 |
| 45 | alilao37 | abc | 37 | 2025-10-18 00:00:00.000000 |
| 46 | alilao38 | abc | 38 | 2025-10-18 00:00:00.000000 |
| 47 | alilao39 | abc | 39 | 2025-10-18 00:00:00.000000 |
| 48 | alilao40 | abc | 40 | 2025-10-18 00:00:00.000000 |
| 49 | alilao41 | abc | 41 | 2025-10-18 00:00:00.000000 |
| 50 | alilao42 | abc | 42 | 2025-10-18 00:00:00.000000 |
| 51 | alilao43 | abc | 43 | 2025-10-18 00:00:00.000000 |
| 52 | alilao44 | abc | 44 | 2025-10-18 00:00:00.000000 |
| 53 | alilao45 | abc | 45 | 2025-10-18 00:00:00.000000 |
| 54 | alilao46 | abc | 46 | 2025-10-18 00:00:00.000000 |
| 55 | alilao47 | abc | 47 | 2025-10-18 00:00:00.000000 |
| 56 | alilao48 | abc | 48 | 2025-10-18 00:00:00.000000 |
| 57 | alilao49 | abc | 49 | 2025-10-18 00:00:00.000000 |
| 58 | alilao50 | abc | 50 | 2025-10-18 00:00:00.000000 |
| 59 | alilao51 | abc | 51 | 2025-10-18 00:00:00.000000 |
| 60 | alilao52 | abc | 52 | 2025-10-18 00:00:00.000000 |
| 61 | alilao53 | abc | 53 | 2025-10-18 00:00:00.000000 |
| 62 | alilao54 | abc | 54 | 2025-10-18 00:00:00.000000 |
| 63 | alilao55 | abc | 55 | 2025-10-18 00:00:00.000000 |
| 64 | alilao56 | abc | 56 | 2025-10-18 00:00:00.000000 |
| 65 | alilao57 | abc | 57 | 2025-10-18 00:00:00.000000 |
| 66 | alilao58 | abc | 58 | 2025-10-18 00:00:00.000000 |
| 67 | alilao59 | abc | 59 | 2025-10-18 00:00:00.000000 |
| 68 | alilao60 | abc | 60 | 2025-10-18 00:00:00.000000 |
| 69 | alilao61 | abc | 61 | 2025-10-18 00:00:00.000000 |
| 70 | alilao62 | abc | 62 | 2025-10-18 00:00:00.000000 |
| 71 | alilao63 | abc | 63 | 2025-10-18 00:00:00.000000 |
| 72 | alilao64 | abc | 64 | 2025-10-18 00:00:00.000000 |
| 73 | alilao65 | abc | 65 | 2025-10-18 00:00:00.000000 |
| 74 | alilao66 | abc | 66 | 2025-10-18 00:00:00.000000 |
| 75 | alilao67 | abc | 67 | 2025-10-18 00:00:00.000000 |
| 76 | alilao68 | abc | 68 | 2025-10-18 00:00:00.000000 |
| 77 | alilao69 | abc | 69 | 2025-10-18 00:00:00.000000 |
| 78 | alilao70 | abc | 70 | 2025-10-18 00:00:00.000000 |
| 79 | alilao71 | abc | 71 | 2025-10-18 00:00:00.000000 |
| 80 | alilao72 | abc | 72 | 2025-10-18 00:00:00.000000 |
| 81 | alilao73 | abc | 73 | 2025-10-18 00:00:00.000000 |
| 82 | alilao74 | abc | 74 | 2025-10-18 00:00:00.000000 |
| 83 | alilao75 | abc | 75 | 2025-10-18 00:00:00.000000 |
| 84 | alilao76 | abc | 76 | 2025-10-18 00:00:00.000000 |
| 85 | alilao77 | abc | 77 | 2025-10-18 00:00:00.000000 |
| 86 | alilao78 | abc | 78 | 2025-10-18 00:00:00.000000 |
| 87 | alilao79 | abc | 79 | 2025-10-18 00:00:00.000000 |
| 88 | alilao80 | abc | 80 | 2025-10-18 00:00:00.000000 |
| 89 | alilao81 | abc | 81 | 2025-10-18 00:00:00.000000 |
| 90 | alilao82 | abc | 82 | 2025-10-18 00:00:00.000000 |
| 91 | alilao83 | abc | 83 | 2025-10-18 00:00:00.000000 |
| 92 | alilao84 | abc | 84 | 2025-10-18 00:00:00.000000 |
| 93 | alilao85 | abc | 85 | 2025-10-18 00:00:00.000000 |
| 94 | alilao86 | abc | 86 | 2025-10-18 00:00:00.000000 |
| 95 | alilao87 | abc | 87 | 2025-10-18 00:00:00.000000 |
| 96 | alilao88 | abc | 88 | 2025-10-18 00:00:00.000000 |
| 97 | alilao89 | abc | 89 | 2025-10-18 00:00:00.000000 |
| 98 | alilao90 | abc | 90 | 2025-10-18 00:00:00.000000 |
| 99 | alilao91 | abc | 91 | 2025-10-18 00:00:00.000000 |
| 100 | alilao92 | abc | 92 | 2025-10-18 00:00:00.000000 |
| 101 | alilao93 | abc | 93 | 2025-10-18 00:00:00.000000 |
| 102 | alilao94 | abc | 94 | 2025-10-18 00:00:00.000000 |
| 103 | alilao95 | abc | 95 | 2025-10-18 00:00:00.000000 |
| 104 | alilao96 | abc | 96 | 2025-10-18 00:00:00.000000 |
| 105 | alilao97 | abc | 97 | 2025-10-18 00:00:00.000000 |
| 106 | alilao98 | abc | 98 | 2025-10-18 00:00:00.000000 |
| 107 | alilao99 | abc | 99 | 2025-10-18 00:00:00.000000 |
+-----+-----------------+----------+-----+----------------------------+
107 rows in set (0.00 sec)